﻿using System;
using Abp.Domain.Entities.Auditing;
using Camc.Quality.Bop;
using JetBrains.Annotations;

namespace Camc.Quality.Business
{
    public class ModifyManage : FullAuditedEntity<Guid>
    {
        public Guid? BusinessId { get; set; }
        /// <summary>
        /// 变更编号
        /// </summary>
        public string ModifyNumber { get; set; }

        /// <summary>
        /// 型号
        /// </summary>
        public string Model { get; set; }


        /// <summary>
        /// 发次
        /// </summary>
        public string LotNo { get; set; }
        /// <summary>
        /// 型号Id
        /// </summary>
        public Guid? ModelId { get; set; }
        /// <summary>
        /// 发次Id
        /// </summary>
        public Guid? LotNoId { get; set; }
        /// <summary>
        /// 名称
        /// </summary>
        public string ModelName { get; set; }


        /// <summary>
        /// 零、部、组件代号
        /// </summary>
        public string ModuleCode { get; set; }

        /// <summary>
        ///     4.图号
        /// </summary>
        public string DrawingNo { get; set; }

        /// <summary>
        ///     5.阶段标识
        /// </summary>
        public string StageSign { get; set; }


        /// <summary>
        ///  单据状态
        /// </summary>
        public DocumentStatus DocumentStatus { get; set; }


        /// <summary>
        /// 工艺规程名称
        /// </summary>
        public string TechniqueName { get; set; }
        /// <summary>
        /// 工艺规程编号
        /// </summary>
        public string TechniqueNumber { get; set; }

        /// <summary>
        ///     变更前版本
        /// </summary>
        public string ReEdition { get; set; }

        /// <summary>
        ///     变更后版本
        /// </summary>
        public string LastEdition { get; set; }


        /// <summary>
        ///     工艺Id
        /// </summary>
        public Guid TechniqueId { get; set; }

        /// <summary>
        ///     变更工艺Id
        /// </summary>
        public Guid DestinationTechniqueId { get; set; }

        /// <summary>
        /// 变更类型
        /// </summary>
        public string ModifyType { get; set; }


        /// <summary>
        ///     申请人Id
        /// </summary>
        public long UserId { get; set; }

        /// <summary>
        ///     申请人
        /// </summary>
        public string UserName { get; set; }

        /// <summary>
        /// 申请日期
        /// </summary>
        [CanBeNull]
        public DateTime? ApplicationDate { get; set; }

        [CanBeNull]
        /// <summary>
        /// 发布日期
        /// </summary>
        public DateTime? ReleaseTime { get; set; }

        /// <summary>
        /// 制品处理意见
        /// </summary>
        public string ProductOpinions { get; set; }


        /// <summary>
        /// 变更原因
        /// </summary>
        public string ModifyReason { get; set; }

        /// <summary>
        ///     变更内容
        /// </summary>
        public string Content { get; set; }


        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

    }
}